package com.zzz.web.LocationAlgo;

import com.zzz.web.Data.RSSI;

import java.util.ArrayList;
import java.util.List;

/**
 * k-means求聚类中心
 */
public class K_Means {


    public static RSSI kmeans(List<RSSI> rssiArrayList) {
        int avgAP1RSSI = 0, avgAP2RSSI = 0, avgAP3RSSI = 0;
        for (RSSI rssi : rssiArrayList) {
            avgAP1RSSI += rssi.getAP1RSSI();
            avgAP2RSSI += rssi.getAP2RSSI();
            avgAP3RSSI += rssi.getAP3RSSI();
        }

        RSSI avgrssi = new RSSI();
        avgrssi.setNumber(rssiArrayList.get(0).getNumber());
        avgrssi.setAP1MAC(rssiArrayList.get(0).getAP1MAC());
        avgrssi.setAP2MAC(rssiArrayList.get(0).getAP2MAC());
        avgrssi.setAP3MAC(rssiArrayList.get(0).getAP3MAC());

        avgAP1RSSI = avgAP1RSSI / rssiArrayList.size();
        avgrssi.setAP1RSSI(avgAP1RSSI);
        avgAP2RSSI = avgAP2RSSI / rssiArrayList.size();
        avgrssi.setAP2RSSI(avgAP2RSSI);
        avgAP3RSSI = avgAP3RSSI / rssiArrayList.size();
        avgrssi.setAP3RSSI(avgAP3RSSI);

        return avgrssi;
    }
}
